Mysql
 sql >> база данни >  >> RDS >> Mysql

Изтеглете записи от таблицата с поръчки за текущата седмица

Нека направим точно това, което искате:

SELECT
    WEEKDAY(`datetime_field`) AS `week_day`,
    COUNT(*) AS `sale_count`
FROM `orders`
WHERE YEARWEEK(`datetime_field`) = YEARWEEK(NOW())
GROUP BY `week_day`
ORDER BY `week_day` ASC;

Това връща набор от записи с week_day и sale_count . Научете повече тук . Използвайте NOW() ако използвате локална дата и час или използвате UTC_TIMESTAMP() ако играете по GMT.

Имайте предвид, че не знам името на вашата база данни или имената на полетата. Трябва да ги попълните.

РАБОТЕЩ ПРИМЕР:

CREATE TABLE `orders` (
  `OrderID` int(11) NOT NULL AUTO_INCREMENT,
  `OrderDate` datetime NOT NULL,
  `OrderValue` decimal(7,2) unsigned NOT NULL,
  PRIMARY KEY (`OrderID`)
);

INSERT INTO `orders` VALUES ('1', '2012-10-29 14:02:19', '100.00');
INSERT INTO `orders` VALUES ('2', '2012-10-30 14:02:19', '123.00');
INSERT INTO `orders` VALUES ('3', '2012-10-31 14:02:19', '103.00');
INSERT INTO `orders` VALUES ('4', '2012-11-01 14:02:19', '232.00');
INSERT INTO `orders` VALUES ('5', '2012-11-02 14:02:19', '321.00');
INSERT INTO `orders` VALUES ('6', '2012-11-03 14:02:19', '154.00');
INSERT INTO `orders` VALUES ('7', '2012-11-04 14:02:19', '112.00');
INSERT INTO `orders` VALUES ('8', '2012-10-29 14:02:19', '100.00');

SELECT
    WEEKDAY(`OrderDate`) AS `week_day`,
    COUNT(*) AS `sales_count`,
    SUM(`OrderValue`) AS `sales_value`
FROM `orders`
WHERE YEARWEEK(`OrderDate`) = YEARWEEK(NOW())
GROUP BY `week_day`
ORDER BY `week_day` ASC;

Това е SQL за създаване на таблица, добавете 1 поръчка на ден за тази седмица, но 2 в понеделник. И заявката за извличане на отчета.

И ЕТО SQLFIDDLE.COM ПРОБРА .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кой е най-добрият начин да проверите дали нещо съществува с PDO

  2. Външен ключ за множество таблици и колони?

  3. Неясната документация на Python mysqldb

  4. Mysql:преобразуване на датата от 'дд/мм/гггг' в 'ггггммдд'

  5. Възможно ли е всъщност SQL инжекция чрез добавяне на втора заявка?