PDA

View Full Version : محاسبه فروش امروز



abbas3zaar
چهارشنبه 16 فروردین 1396, 02:19 صبح
میخوام یک کوئری بگیرم که:

جمع فروش امروزم رو نشون بده

جمع فروش دیروزم رو نشون بده


اینم عکس فیلد هامه

مثلا این سه تا سفارش برای امروزه که تاریخ روزشون یکی هست
بیاد هر چی تاریخ 16/01/96 هست رو فیلد total_price شن رو جمع کنه بگه امروز 33000 تومان فروش داشتید. به چه صورت میتونم؟

http://uupload.ir/files/lu0j_234234234.jpg

plague
چهارشنبه 16 فروردین 1396, 04:10 صبح
برای جمع قیمت باید SUM استفاده کنی
برای در نظر گرفتن تاریخ خالی بدون ساعت در فیلد تایم استمپ باید DATE استفاده کنی
در نهایی چون میخای بر اساس تاریخ روز گروه بندی بشن هم ....
select SUM(price) , DATE(created) as date from tbl group by date

abbas3zaar
چهارشنبه 16 فروردین 1396, 14:31 عصر
برای جمع قیمت باید SUM استفاده کنی
برای در نظر گرفتن تاریخ خالی بدون ساعت در فیلد تایم استمپ باید DATE استفاده کنی
در نهایی چون میخای بر اساس تاریخ روز گروه بندی بشن هم ....
select SUM(price) , DATE(created) as date from tbl group by date


این لیست سفارشات من

http://uupload.ir/files/i33n_5646456456.jpg


وقتی این کوئری زیر رو توی phpmyadmin اجرا میکنم:

select SUM(total_price) , DATE(created) as date from orders group by date

خروجیش اینه:

http://uupload.ir/files/8gm4_43535345435.jpg



من میخوام مثلا مجموع ستون total_price رو select کنه جایی که تاریخ مثلا 03-04-2017 باشه

فقط تاریخ مثلا 03-04-2017 رو بیاره و تمامی فیلد های ستون total_price که تاریخشون 03-04-2017 هست رو با هم جمع کنه



این کوئری:

select SUM(total_price) , DATE(created) as date from orders

هم خروجیش اینه:
تاریخ 05 رو میاره ولی چرا جمه 75500 تومان؟!!!! در اولین عکس فقط 3 ردیف در تاریخ 05 داریم که جمع total_price شون میشه 35500 تومن!

http://uupload.ir/files/4epa_capture.jpg

thacker
چهارشنبه 16 فروردین 1396, 15:45 عصر
این لینک رو مشاهده کنید :
http://stackoverflow.com/questions/10177180/how-to-sum-a-row-within-a-certain-date-range-in-php-mysql

plague
چهارشنبه 16 فروردین 1396, 15:54 عصر
وقتی شرطی نزاری و گروپ هم نزنی همه ردیف ها رو با هم جمع میکنه تاریخی هم که اونجا میبینی چون ماله آخرین ردیف بوده نشون میده

شما الان توی کوئریت کجا تاریخ رو قید کردی که انتظار تاریخ مشخصی رو داری تو خروجی ؟
باید where آستفاده کنی اگه تاریخ خاصی رو میخای

abbas3zaar
چهارشنبه 16 فروردین 1396, 16:14 عصر
این لینک رو مشاهده کنید :
http://stackoverflow.com/questions/10177180/how-to-sum-a-row-within-a-certain-date-range-in-php-mysql


وقتی شرطی نزاری و گروپ هم نزنی همه ردیف ها رو با هم جمع میکنه تاریخی هم که اونجا میبینی چون ماله آخرین ردیف بوده نشون میده

شما الان توی کوئریت کجا تاریخ رو قید کردی که انتظار تاریخ مشخصی رو داری تو خروجی ؟
باید where آستفاده کنی اگه تاریخ خاصی رو میخای


اینو مینویسم NULL میده

select SUM(total_price) , DATE(created) as date from orders WHERE DATE(created) = 2017-04-05

این الان جدول orders منه
حالا توی phpmyadmin قسمت sql میخوام کوئری رو بگیرم ببینم جوال میده یا نه.چجوری باید بنویسم؟


http://uupload.ir/files/snpn_11111111111.jpg

http://uupload.ir/files/ffdb_234234234234234234234.jpg

MRmoon
چهارشنبه 16 فروردین 1396, 23:41 عصر
کافیه تاریخ امروز رو بدی بگی جاهایی که مقدار تاریخ از این تاریخ بزرگترو رو جمع کن.

این کار می کنه. لازمم نیست این همه بپیچونی تو DATE و این حرفا.


SELECT SUM(`total_price`) FROM `payment` WHERE date > '2017-05-06'

plague
پنج شنبه 17 فروردین 1396, 12:47 عصر
اینو مینویسم NULL میده

select SUM(total_price) , DATE(created) as date from orders WHERE DATE(created) = 2017-04-05


تاریخ رو توی کوتیشن بزار
نکته دیه وقتی DATE(created) as xxنوشته دیگه میتونی از xx استفاده کنی در جاهای دیگه کوئری بجای DATE(created)



کافیه تاریخ دیروز رو بدی بگی جاهایی که مقدار تاریخ از این تاریخ بزرگترو رو جمع کن.

این کار می کنه. لازمم نیست این همه بپیچونی تو DATE و این حرفا.



این فروش دیروز و امروز رو با هم جمع میکنه
ایشون میخان امروز رو با دیروز مقایسه کنن

bugless.ir
جمعه 18 فروردین 1396, 19:30 عصر
از اونجایی که شما توتال های فروش رو دارید صرفا لازم است که یک دراپ داون برای روزهای ماه بسازید و مقدار هر روز رو به کوئری پاس بدید و داخل شرط کوئری مقدار روز توتال رو با دراپ داون برابر کنید !

abbas3zaar
جمعه 18 فروردین 1396, 23:20 عصر
از اونجایی که شما توتال های فروش رو دارید صرفا لازم است که یک دراپ داون برای روزهای ماه بسازید و مقدار هر روز رو به کوئری پاس بدید و داخل شرط کوئری مقدار روز توتال رو با دراپ داون برابر کنید !




این کوئری زیر در phpmyadmin وارد میکنم جواب میده



SELECT SUM(total_price) FROM orders WHERE DATE(created) = '2017-04-07'



توی کدها الان باید به صورت زیر بنویسم؟



$query_select_sum_of_today = "SELECT SUM(total_price) FROM orders WHERE DATE(created) = '".date('Y-m-d')."'";


date('Y-m-d رو نوشتم که تاریخ امروز رو بده به کوئری



اینو زدم:




<?php $query_select_sum_of_today = "SELECT SUM(total_price) FROM orders WHERE DATE(created) = '".date('Y-m-d')."'";
$do_sum_of_today = mysql_query($query_select_sum_of_today);
var_dump($do_sum_of_today);
echo $do_sum_of_today;?>




خروجیش اینه:

resource(9) of type (mysql result)
Resource id #9

یعنی چی؟

چجوری باید echo اش کنم؟