diff options
author | Andrew Dolgov <[email protected]> | 2013-09-17 03:27:07 -0700 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2013-09-17 03:27:07 -0700 |
commit | 80c448cb98ba1234e5a2c2f7ef240f9d6cef645a (patch) | |
tree | 774518376a34b1b310d28158a76784deb42e8af1 | |
parent | 1357a263be61196ad7d02cbf19a6cf08d1e50a80 (diff) | |
parent | 4d8f4c59894b27204ebe2042d0d3c0de477af4cf (diff) |
Merge pull request #299 from rangerer/label_counters
optimized query for label counters
-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"); |