diff options
author | Roland Angerer <[email protected]> | 2013-09-17 12:05:13 +0200 |
---|---|---|
committer | Roland Angerer <[email protected]> | 2013-09-17 12:05:13 +0200 |
commit | 4d8f4c59894b27204ebe2042d0d3c0de477af4cf (patch) | |
tree | 774518376a34b1b310d28158a76784deb42e8af1 /include/functions.php | |
parent | 1357a263be61196ad7d02cbf19a6cf08d1e50a80 (diff) |
optimized query for label counters
Diffstat (limited to 'include/functions.php')
-rw-r--r-- | include/functions.php | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/include/functions.php b/include/functions.php index 2f16ea58e..55896b66a 100644 --- a/include/functions.php +++ b/include/functions.php @@ -1557,13 +1557,10 @@ $owner_uid = $_SESSION["uid"]; - $result = db_query("SELECT id,caption,COUNT(u1.unread) AS unread,COUNT(u2.unread) AS total + $result = db_query("SELECT id,caption,SUM(CASE WHEN u1.unread = true THEN 1 ELSE 0 END) AS unread, COUNT(u1.unread) AS total FROM ttrss_labels2 LEFT JOIN ttrss_user_labels2 ON (ttrss_labels2.id = label_id) - LEFT JOIN ttrss_user_entries AS u1 ON (u1.ref_id = article_id AND u1.unread = true - AND u1.owner_uid = $owner_uid) - LEFT JOIN ttrss_user_entries AS u2 ON (u2.ref_id = article_id AND u2.unread = false - AND u2.owner_uid = $owner_uid) + LEFT JOIN ttrss_user_entries AS u1 ON u1.ref_id = article_id WHERE ttrss_labels2.owner_uid = $owner_uid GROUP BY ttrss_labels2.id, ttrss_labels2.caption"); |