Php mysql按产品分组

Php mysql按产品分组,php,mysql,group-by,Php,Mysql,Group By,如何对包含pro tan的产品进行分组,这是我想要的html结果 table: id p_name p_price 1 tan 1 2 soap 1 3 pro tan 01 2 4 pro tan 02 3 5 pro tan 03 4 php: 你应该做你想做的 应该做你想做的。好的,我还不能评论,但是试试这个 select s.p_name, sum(s.p_price) from

如何对包含
pro tan
的产品进行分组,这是我想要的html结果

table:
id   p_name      p_price
1    tan           1
2    soap          1
3    pro tan 01    2 
4    pro tan 02    3 
5    pro tan 03    4
php:

你应该做你想做的


应该做你想做的。

好的,我还不能评论,但是试试这个

select s.p_name, sum(s.p_price) 
from 
  (select left(p_name, 7) as p_name, 
   p_price from products) s
group by s.p_name;

好的,我还不能评论,但是试试这个

select s.p_name, sum(s.p_price) 
from 
  (select left(p_name, 7) as p_name, 
   p_price from products) s
group by s.p_name;

您可以选择productname列的前7个字符并按该子字符串分组,这将适用于此示例数据,但在表中输入其他productname时可能会中断…您可以选择productname列的前7个字符并按该子字符串分组,这将适用于此示例数据,但当在表中输入其他产品名称时,可能会中断…您确定已尝试此产品名称吗?上面你有
像“pro tan%”
什么时候应该是
像“pro tan%”这样的p_名称
你得到了什么错误(我更改了查询,因为它是按完整的p_名称分组的,而不仅仅是按你的要求的前7个字符)?@Frank你的内部选择缺少一个别名,我编辑了代码(经过同行审查后可见)显示正确的代码。@Johan谢谢,我没有MySQL数据库来检查它。“同行评议后可见”到底是如何起作用的?@Frank Schmitt:你需要一定的声誉分数才能看到这一点。不过我刚刚批准了,所以现在你可以看到约翰改变了什么:p.你确定你试过这个吗?上面你有
像“pro tan%”
什么时候应该是
像“pro tan%”这样的p_名称
你得到了什么错误(我更改了查询,因为它是按完整的p_名称分组的,而不仅仅是按你的要求的前7个字符)?@Frank你的内部选择缺少一个别名,我编辑了代码(经过同行审查后可见)显示正确的代码。@Johan谢谢,我没有MySQL数据库来检查它。“同行评议后可见”到底是如何起作用的?@Frank Schmitt:你需要一定的声誉分数才能看到这一点。不过我刚刚批准了,所以现在你可以看到约翰改变了什么:p。
select s.p_name, sum(s.p_price) 
from 
  (select left(p_name, 7) as p_name, 
   p_price from products) s
group by s.p_name;
$q_products = $db->query("SELECT * FROM p_products GROUP BY p_name having p_name LIKE 'pro tan%'");