Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL查询中的多Select语句_Php_Mysql_Sql_Phpmyadmin - Fatal编程技术网

Php MYSQL查询中的多Select语句

Php MYSQL查询中的多Select语句,php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,我有一个mysql表,包含不同市场上产品的日期销售 Date Marketplace Sale 1 flipkart 1000 1 flipkart 500 1 amazon 200 1 amazon 1500 1 amazon 700 2 myntra 500 2 flipkart 1000 我想要一个mys

我有一个mysql表,包含不同市场上产品的日期销售

Date   Marketplace   Sale 
1      flipkart       1000
1      flipkart       500
1      amazon          200
1      amazon         1500
1      amazon          700
2      myntra          500
2      flipkart       1000
我想要一个mysql语句,它可以为我提供一个月内亚马逊、flipkart等不同市场的总销售额,如本例所示 在

第1个月flipkart的总销售额为1500 1000+500,亚马逊的总销售额为2400 1500+700+200

我有一个疑问:

SELECT  date, (Select sum(gross_sale) from sku where marketplace='flipkart') as flipkart, (Select sum(gross_sale) from sku where marketplace='Myntra') as myntra, sum(gross_sale) as countdate FROM sku WHERE   date >= '2017-11-01' AND
        date   <= '2017-11-30' GROUP BY date ORDER BY date ASC limit 30 ;
但是select子查询并没有给出日期分布,而是给出了当月的总销售额。如何解决这个问题。请帮忙。提前感谢。

Mysql会按函数为您提供任务的汇总和分组。您可以通过以下查询检索所需的结果

按日期、市场从表组中选择日期、市场、sumSale

sum将在group by的帮助下对同一市场的所有价格进行汇总

在你的评论之后

若您不想使用循环,并且需要查询的单个结果,那个么您只需要where子句

从Marketplace='flipkart'的表格中选择日期、市场、sumSale

SELECT Date,Marketplace, SUM(Sale) 
FROM tab111 where date =1
Group By Marketplace 

你有没有尝试过建立一个联盟:

select date,marketplace,sum(sales) from yourtable where marketplace='flipkart'

union

select date,marketplace,sum(sales) from yourtable where marketplace='amazon'
这是

试试这个

SELECT 
    sk.date,
    sum(sk1.sale) as flipkart_sum_sale,
    sum(sk2.sale) as amanzon_sum_sale
FROM
    sku sk
        LEFT JOIN
    sku sk1 ON sk.id = sk1.id
        AND sk1.marketplace = 'flipkart'
        LEFT JOIN
    sku sk2 ON sk.id = sk2.id
        AND sk2.marketplace = 'amazon'
GROUP BY sk.date;

我们感谢您提供的示例数据和所需的输出。请按日期、市场位置从您的表组中选择日期、市场、sumSale您试用过吗?谷歌的第二个结果。在这里提问之前,你真的应该做更多的研究。亚马逊总销售额2700 1500+700+500??根据您的示例数据,它应该是Amazon毛销售额2400 200+1500+700检查底部的答案,并链接到SQLFIDDLE感谢您的帮助,但我希望sumsale作为不同市场的不同变量,如选择日期、sumflipkart_销售、sum Amazon_销售、,从表分组方式date@NishankMagoo请查收now@Mr.Developer但这只适用于一个市场。我想要一个月内所有市场的单一查询。选择日期,flipkart作为flipkart的销售总额,amazon的销售总额,sku myntra的销售总额,其中日期>='2017-11-01',如果我想要多个市场,我必须在这里使用union。谢谢。成功了!您还可以让我知道如何在此处使用where子句来指定问题中指定的日期。请立即尝试:选择sk.date,sumsk1.sale作为flipkart_sum_sale,sumsk2.sale as amanzon_sum_sale FROM sku sk LEFT JOIN sk.id=sk1.id和sk1.marketplace='flipkart'LEFT JOIN sk.id=sk2.id和sk2.marketplace='amazon',其中sk1.date>='2017-11-01'和sk1.date='2017-11-01'和sk2.date
SELECT 
    sk.date,
    sum(sk1.sale) as flipkart_sum_sale,
    sum(sk2.sale) as amanzon_sum_sale
FROM
    sku sk
        LEFT JOIN
    sku sk1 ON sk.id = sk1.id
        AND sk1.marketplace = 'flipkart'
        LEFT JOIN
    sku sk2 ON sk.id = sk2.id
        AND sk2.marketplace = 'amazon'
GROUP BY sk.date;