1

私は2つのテーブルを持っています:

テーブルFilters

id   INT(11) PRIMARY KEY
text VARCHAR(50)

テーブルitems

id    INT(11) PRIMARY KEY
title VARCHAR(255)

タイトル間での出現回数とともに、すべてのフィルター用語を表示したいと思います

私は現在このステートメントを使用していますが、カウントとしてゼロを取得します

SELECT  filters.text, 
        (SELECT COUNT(items.id) 
         FROM items 
         WHERE (items.title LIKE 'filters.text' OR 
                items.title LIKE '%filters.text' OR 
                items.title LIKE '%filters.text%' OR 
                items.title LIKE 'filters.text%')
        ) AS count
        FROM filters, items
GROUP BY filters.ID
ORDER BY filters.ID DESC
4

1 に答える 1

0

これを試してみてください、

SELECT  a.text, COUNT(b.id) totalCount
FROM    filters a
        LEFT JOIN items b
            ON b.title LIKE CONCAT('%',a.text,'%')
GROUP BY a.text
ORDER BY totalCount DESC
于 2012-12-31T04:37:33.287 に答える