按热门程度排序
问题描述:
我有“记录”有两列“meta_value”和“FIELD_ID”表:按热门程度排序
meta_value field_id item_id
Customer 11 1
Sweden 1 1
Second 1 1
First 1 1
Done 1 2
No 1 2
First1 2 2
First2 2 2
Finland 2 3
Customer 11 3
112233 2 3
Booked 2 3
First NAme 89 4
Last Name 9 4
Belgium 3 4
Customer Name 11 4
11223344 12 5
Booked 3 5
First Name2 89 5
Last Name2 9 5
The Netherlands 10 6
Customer Name2 11 6
221133 4 6
Booked 4 6
Item_id
意味着提交的网站上形式的ID,field_id
- 形式参数名
和meta_value
- 此参数的值。
field_id=1
是人的姓名(值存储在meta_value
)field_id=2
是关键字(值存储在meta_value
),此人已经进入其中。
我需要做的是显示前5名最多输入“预订”的关键字。
我不是很擅长MySQL请求,所以也许有人可以帮助我?
答
我做到了:
SELECT t3.name, COUNT(*) as Cnt FROM
(SELECT t1.meta_value AS name, t2.meta_value AS type, t2.item_id AS field_id FROM
(SELECT * FROM wp_frm_item_metas WHERE field_id=9) AS t1 INNER JOIN (SELECT * FROM wp_frm_item_metas WHERE field_id=13) AS t2 ON t1.item_id = t2.item_id WHERE t2.meta_value="Booked") AS t3 GROUP BY t3.name ORDER BY Cnt DESC
欢迎*上。由于这几乎可以肯定是家庭作业(请标记为这样),我们需要请您告诉我们您尝试了什么......我们会提供帮助,但我们不会为您做。 – 2012-02-27 14:47:51
提示:'ORDER BY'和'LIMIT' – jordanm 2012-02-27 14:50:24
由于数据中包含元值,字段ID和表单ID,但与人无关,因此您似乎忽略了某些关键信息。你怎么知道哪个人输入了数据的元值'Booked'? (因为数据显示'已预订',可能这就是所需要的,而不是'已预订'。不幸的是,计算机需要这样的精度和细节。) – 2012-02-27 14:52:19