【问题标题】:php mysql select and countphp mysql 选择和计数
【发布时间】:2020-03-09 16:06:53
【问题描述】:

我有一个名为“tagtable”的mysql表,它有文本类型列“params”列,如下所示;

id   tag                 params    //in text type 
1   #discount          {"activity":[105,106,107]}
2   #table             {"activity":[108,109,110,111]}
3   #pencil            {"activity":[112,113]}
4   #door              {"activity":[114]}
5   #phone             {"activity":[115]}
6   #wall              {"activity":[116,117,118,119,120]}
7   #radio             {"activity":[121,122,123]}

我的预期结果是从文本类型参数列中选择活动数量最多的前 4 个标签并计算它们,如下所示:

#wall-5  , #table-4 , #discount-3, #radio-3

我怎样才能用 php 实现呢?

【问题讨论】:

  • 不规范化存储的原因是什么?

标签: php mysql sql count


【解决方案1】:

试试这个代码

SELECT 
ID, 
tag, 
(CHAR_LENGTH(params) - CHAR_LENGTH(REPLACE(params, ',', '')) + 1) as total 
FROM tagtable 
order by total desc 
limit 4

【讨论】:

猜你喜欢
  • 2015-07-22
  • 1970-01-01
  • 1970-01-01
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 2012-03-05
  • 2017-01-28
  • 2014-02-26
相关资源
最近更新 更多