cari

Rumah  >  Soal Jawab  >  teks badan

Dapatkan nilai tertinggi dalam lajur dan tarikhnya

Saya menulis kod dalam MySQL untuk mendapatkan nilai kematian tertinggi bagi setiap negara dan tarikh pelaporannya dalam MySQL. Saya boleh mendapatkan nilai kematian tertinggi tetapi nilai tarikh mengembalikan ralat. Ini kod MySQL saya:

SELECT 
    d.country_name, s.dt, MAX(s.deaths)
    FROM
    Demographics d 
    inner JOIN statistics s 
    On d.country_id=s.country_id
    GROUP BY country_name
    ORDER BY MAX(s.deaths) DESC;

Kod dikembalikan:

USA JermanBangladeshDi sini, nilai dt adalah salah. Hasilnya sepatutnya seperti ini:
Nama Negara/Wilayah dt Maks(s.kematian)
2022-02-17 3635
2022-02-17 455
2022-02-17 43

Nama Negara/Wilayah USA 2022-01-262022-02-162022-02-08Ini adalah sampel input saya:
CREATE TABLE `demographics` (
    `country_id` char(3) NOT NULL,
    `country_name` varchar(20) NOT NULL
     );

   CREATE TABLE `statistics` (
  `country_id` char(3) NOT NULL,
  `dt` date NOT NULL,
  `confirmed_cases` bigint(20) NOT NULL,
  `deaths` bigint(20) NOT NULL
  );

  INSERT INTO `demographics` (`country_id`, `country_name`) VALUES
  ('BGD', 'Bangladesh', 164700000, 148460, 1265),
  ('DEU', 'Germany', 83200000, 357386, 232),
  ('USA', ‘United_States’, 329500000, 9834000, 36);

  INSERT INTO `statistics` (`country_id`, `dt`, `confirmed_cases`, `deaths`) VALUES
  ('DEU', '2022-02-17', 235626, 261),
  ('DEU', '2022-02-16', 219972, 455),
  ('DEU', '2022-02-15', 159217, 243),
  ('DEU', '2022-02-14', 76465, 246),
  ('DEU', '2022-02-13', 62841, 42),
  ('DEU', '2022-02-12', 116810, 58),
  ('DEU', '2022-01-30', 92921, 42),
  ('DEU', '2022-01-19', 121952, 258),
  ('DEU', '2022-01-18', 95098, 199),
  ('DEU', '2022-01-17', 53916, 143),
  ('BGD', '2022-02-17', 3539, 20),
  ('BGD', '2022-02-16', 3929, 15),
  ('BGD', '2022-02-15', 4746, 34),
  ('BGD', '2022-02-14', 4692, 19),
  ('BGD', '2022-02-13', 4838, 28),
  ('BGD', '2022-02-12', 5023, 20),
  ('BGD', '2022-02-11', 5268, 27),
  ('BGD', '2022-02-10', 7264, 41),
  ('BGD', '2022-02-09', 8016, 33),
  ('BGD', '2022-02-08', 8354, 43),
  ('BGD', '2022-02-07', 9369, 38),
  ('BGD', '2022-02-06', 8345, 29),
  ('BGD', '2022-01-31', 13501, 31),
  ('BGD', '2022-01-30', 12183, 34),
  ('BGD', '2022-01-29', 10378, 21),
  ('BGD', '2022-01-28', 15440, 20),
  ('BGD', '2022-01-27', 15807, 15),
  ('BGD', '2022-01-20', 656, 8),
  ('BGD', '2022-01-19', 9500, 12),
  ('BGD', '2022-01-18', 8407, 10),
  ('BGD', '2022-01-17', 6676, 10),
  ('USA', '2022-02-17', 115149, 2802),
  ('USA', '2022-02-16', 141177, 3306),
  ('USA', '2022-02-15', 111151, 2850),
  ('USA', '2022-02-14', 87057, 1132),
  ('USA', '2022-02-13', 88494, 977),
  ('USA', '2022-02-12', 130169, 1555),
  ('USA', '2022-02-11', 168153, 2203),
  ('USA', '2022-02-05', 204770, 1761),
  ('USA', '2022-02-04', 306311, 2811),
  ('USA', '2022-02-03', 306317, 3279),
  ('USA', '2022-02-02', 325193, 3412),
  ('USA', '2022-02-01', 312473, 3582),
  ('USA', '2022-01-26', 555623, 3635),
  ('USA', '2022-01-25', 511029, 2972),
  ('USA', '2022-01-24', 292907, 1635),
  ('USA', '2022-01-23', 510878, 1394),
  ('USA', '2022-01-22', 670427, 1813)
  ('USA', '2022-01-17', 646886, 1283);
P粉312195700P粉312195700264 hari yang lalu590

membalas semua(1)saya akan balas

  • P粉147747637

    P粉1477476372024-04-03 13:39:54

    Pertanyaan anda berfungsi dengan baik dan mengembalikan nilai yang betul:

    Cuba padam dan cipta semula data anda.

    balas
    0
  • Batalbalas
  • dt Maks(s.kematian)
    3635 Jerman
    455 Bangladesh
    43