我有一个产品列表,我可以在其中得到最受欢迎的产品随着时间的推移。我还有一份产品清单。这个名单每天都会改变。
我要做的是显示列表B的所有产品,并将其与列表A的流行产品一起订购。例如:
列表A将包含:
banana
apple
banana
orange
apple
banana
列表B将包含:
potato
rice
banana
bread
orange
现在输出必须是:
banana
orange
potato
rice
bread
如何用一个SQL命令来实现这一点?
谢谢
最佳答案
SELECT B.Col1, CNT FROM LISTB B
LEFT OUTER JOIN
(SELECT Col1, COUNT(*) CNT
FROM LISTA A GROUP BY Col1) A1 ON b.col1 = A1.col1
ORDER BY CNT DESC
检查这个-http://sqlfiddle.com/#!3/34f5f/1
关于mysql - 使用多个表订购热门商品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11957543/