21 Mart 2012, ÇARŞAMBA
Mysql eğer durum sayısı sorgu
Yorumlar için haber ve diğeri için iki tablo var ve onaylanmış olarak ayarlanmış olan yorum sayısını almak istiyorum.
SELECT ccc_news . * ,
count(if(ccc_news_comments.id = 'approved', ccc_news_comments.id, 0)) AS comments
FROM ccc_news
LEFT JOIN ccc_news_comments ON ccc_news_comments.news_id = ccc_news.news_id
WHERE `ccc_news`.`category` = 'news_layer2'
AND `ccc_news`.`status` = 'Active'
GROUP BY ccc_news.news_id
ORDER BY ccc_news.set_order ASC
LIMIT 20
Ama bu sorgu ile sorunu açıklama sütunu için getirilen minimum değer herhangi bir yorum bu haber ilgili mevcut olup olmadığını 1.
Herhangi bir yardım son derece kayda değer olacaktır.
CEVAP
21 Mart 2012, ÇARŞAMBA
count()
sum()
kullanın
Aşağıda deneyin:
SELECT ccc_news . * ,
SUM(if(ccc_news_comments.id = 'approved', 1, 0)) AS comments
FROM ccc_news
LEFT JOIN ccc_news_comments ON ccc_news_comments.news_id = ccc_news.news_id
WHERE `ccc_news`.`category` = 'news_layer2'
AND `ccc_news`.`status` = 'Active'
GROUP BY ccc_news.news_id
ORDER BY ccc_news.set_order ASC
LIMIT 20
Bunu Paylaş:
FARKLI ve bir arada kullanarak bir MyS...
MySQL sorgu sayısı içine metin dönüştü...
Herhangi bir derinlik için tek bir sor...
Nasıl MySQL Sorgu Günlüğünü etkinleşti...
MySQL veritabanındaki tüm tablolar içi...