php - 如何在 mysql php 中构建动态运行时查询?

标签 php mysql dynamic runtime

我不知道如何对这个问题进行分类。模糊地说,它是关于在使用 php 脚本执行的 mysql 查询的 WHERE 子句中使用计算值。

这是场景 - 我有一个 mysql 表,其结构如下: table_id[int], item_id[int], item_ rating[int] 现在 item_ rating 列中可以有“1”或“0”值。 table_id 列设置为 auto_increment,item_id 列也可以有重复值。

所以典型的表格如下所示 -

table_id item_id item_rating
1           item1     1
2           item5     0
3           item1     1
4           item1     1
5           item5     1
6           item1     0

我打算对每个 item_id 做什么,我计算 item_ rating = 1 和 item_ rating = 0 的数量,然后取 item_ rating 值的差异来获得该项目的最终评级(final_item_ rating = item_ rating(值= 1) ) - item_ rating(值=0) ).

现在的问题是: 我有一个 php 脚本,它从这些表中获取值,然后显示根据“final_item_ rating”值订购的项目详细信息 - 类似于: select * from table_name order by Final_item_ rating desc

唯一的问题是,由于 Final_item_ rating 本身不是列,并且实际上基于查询的运行时值,因此我如何构建查询?

希望我的问题很清楚:)

最佳答案

此查询可能对您有帮助:

SELECT sum(item_rating) AS SumRatings
FROM table_name
WHERE item_rating=1
GROUP BY item_id
ORDER BY SumRatings; 

关于php - 如何在 mysql php 中构建动态运行时查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080209/

相关文章:

php - 即使字段为空,此 PHP 表单也通过了验证

php - 按关联项搜索的 SQL

php - 统计标签的频率

php - Symfony\Component\Debug\Exception\FatalErrorException laravel 错误

java - 创建了 Java Web 应用程序/MySql 应用程序

mysql - 用于从同一列输出两个值的 SQL 语句,如何做到最好?

php - 上传表格不起作用

c - 是什么导致了C代码中的段错误,跨函数的动态分配

c# - 不使用dynamic关键字的动态双重调度

java - 为什么 c 的向上转换是多余的?