Mysql 带有计数或求和问题的SQL案例
我尝试了一些选择,但它根本不起作用或不适合我的需要 这是关于以下SQL的(这不起作用,但最接近我需要的): 因此,基本上,得分最多的条目以顶部结尾。当3个案例匹配时,Mysql 带有计数或求和问题的SQL案例,mysql,count,sum,case,Mysql,Count,Sum,Case,我尝试了一些选择,但它根本不起作用或不适合我的需要 这是关于以下SQL的(这不起作用,但最接近我需要的): 因此,基本上,得分最多的条目以顶部结尾。当3个案例匹配时,参考值将得到3分。 代码是动态的,因此它也可以是4、5、6、7或更多情况 我希望这对你有意义。 提前感谢。您不能在同一选择列表中重复使用计算值(如查询中的val1) SELECT *,val1+val2+val3 AS `reference_value` FROM ( CASE WHEN r.content LIKE '%
参考值
将得到3分。
代码是动态的,因此它也可以是4、5、6、7或更多情况
我希望这对你有意义。
提前感谢。您不能在同一
选择列表中重复使用计算值(如查询中的val1
)
SELECT *,val1+val2+val3 AS `reference_value` FROM (
CASE WHEN r.content LIKE '% word1 %'
then 1
else 0
END AS `val1`
,CASE WHEN r.content LIKE '% word2 %'
then 1
else 0
END AS `val2`
,CASE WHEN r.city LIKE 'cityname'
then 1
else 0
END AS `val3`
,
FROM `testimonials` as r
WHERE `accepted`='1'
)
ORDER BY `reference_value`
使用子查询,或重复大小写以求和它们的值。在这种情况下,我的首选是子查询,但实际需求和实际执行计划(explain)可以随时覆盖它
SELECT
val1,val2,val3,
val1+val2+val3 as reference_value
FROM (
SELECT CASE WHEN r.`content` LIKE '% word1 %'
then 1
else 0
END AS `val1`
, CASE WHEN r.`content` LIKE '% word2 %'
then 1
else 0
END AS `val2`
, CASE WHEN r.`city` LIKE 'cityname'
then 1
else 0
END AS `val3`
FROM `testimonials` as r
WHERE `accepted`='1'
) TMP
ORDER BY `reference_value`
不能在同一SELECT
列表中重复使用计算值(如查询中的val1
)
使用子查询,或重复大小写以求和它们的值。在这种情况下,我的首选是子查询,但实际需求和实际执行计划(explain)可以随时覆盖它
SELECT
val1,val2,val3,
val1+val2+val3 as reference_value
FROM (
SELECT CASE WHEN r.`content` LIKE '% word1 %'
then 1
else 0
END AS `val1`
, CASE WHEN r.`content` LIKE '% word2 %'
then 1
else 0
END AS `val2`
, CASE WHEN r.`city` LIKE 'cityname'
then 1
else 0
END AS `val3`
FROM `testimonials` as r
WHERE `accepted`='1'
) TMP
ORDER BY `reference_value`
不能在同一SELECT
列表中重复使用计算值(如查询中的val1
)
使用子查询,或重复大小写以求和它们的值。在这种情况下,我的首选是子查询,但实际需求和实际执行计划(explain)可以随时覆盖它
SELECT
val1,val2,val3,
val1+val2+val3 as reference_value
FROM (
SELECT CASE WHEN r.`content` LIKE '% word1 %'
then 1
else 0
END AS `val1`
, CASE WHEN r.`content` LIKE '% word2 %'
then 1
else 0
END AS `val2`
, CASE WHEN r.`city` LIKE 'cityname'
then 1
else 0
END AS `val3`
FROM `testimonials` as r
WHERE `accepted`='1'
) TMP
ORDER BY `reference_value`
不能在同一SELECT
列表中重复使用计算值(如查询中的val1
)
使用子查询,或重复大小写以求和它们的值。在这种情况下,我的首选是子查询,但实际需求和实际执行计划(explain)可以随时覆盖它
SELECT
val1,val2,val3,
val1+val2+val3 as reference_value
FROM (
SELECT CASE WHEN r.`content` LIKE '% word1 %'
then 1
else 0
END AS `val1`
, CASE WHEN r.`content` LIKE '% word2 %'
then 1
else 0
END AS `val2`
, CASE WHEN r.`city` LIKE 'cityname'
then 1
else 0
END AS `val3`
FROM `testimonials` as r
WHERE `accepted`='1'
) TMP
ORDER BY `reference_value`
始终提供一些数据集和预期结果。无论你如何清楚地“用语言”解释它。有这个:。。。想要这个:。。。将以最快的方式正确回答始终提供一些数据集和预期结果。无论你如何清楚地“用语言”解释它。有这个:。。。想要这个:。。。将以最快的方式正确回答始终提供一些数据集和预期结果。无论你如何清楚地“用语言”解释它。有这个:。。。想要这个:。。。将以最快的方式正确回答始终提供一些数据集和预期结果。无论你如何清楚地“用语言”解释它。有这个:。。。想要这个:。。。将以最快的方式正确回答感谢您的快速回复!我仍然得到错误:#1054-字段列表中的未知列'val1'是的,我忘记删除您原来的总和行。感谢您的快速回复!我仍然得到错误:#1054-字段列表中的未知列'val1'是的,我忘记删除您原来的总和行。感谢您的快速回复!我仍然得到错误:#1054-字段列表中的未知列'val1'是的,我忘记删除您原来的总和行。感谢您的快速回复!我仍然得到错误:#1054-字段列表中的未知列'val1'是的,我忘记删除您原来的总和行。固定的