Rumah  >  Soal Jawab  >  teks badan

Keputusan pertanyaan MySQL tidak konsisten

<p>Saya mempunyai jadual yang dipanggil "urus niaga" yang menyimpan transaksi yang dibuat pada sistem pembayaran tertentu. Saya ingin mendapatkan laporan harian untuk Julai 2023 (contohnya) dan menjalankan pertanyaan berikut: </p> <pre class="brush:sql;toolbar:false;">PILIH HARI(DIBUAT), kira(*) DARIPADA `transaksi` DI MANA STATUS = 'diluluskan' DAN BULAN(DIBUAT) = 07 DAN TAHUN(DIBUAT) = 2023 KUMPULAN MENGIKUT HARI(DIBUAT) </pra> <p>Hasilnya melangkau beberapa hari, contohnya untuk hari ke-7 dalam bulan itu, saya tidak mendapat apa-apa, tetapi apabila saya menukar pertanyaan kepada: </p> <pre class="brush:sql;toolbar:false;">SELECT DAY(CREATED), count(*) from `transaction` DI MANA STATUS = 'diluluskan' DAN BULAN(DIBUAT) = 07 DAN TAHUN(DIBUAT) = 2023 DAN HARI(DIBUAT) = 7 KUMPULAN MENGIKUT HARI(DIBUAT); </pra> <p> (Pada asasnya menambah <code>DAY(CREATED) = 7</code> pada pertanyaan)</p> <p>Ia mengembalikan kiraan untuk hari ke-7.</p> <p>Mengapa mereka tidak konsisten? Bagaimanakah saya boleh menyelesaikan masalah ini dalam pertanyaan pertama? </p> <p>Terima kasih terlebih dahulu :)</p> <p>Edit: Struktur jadual dan contoh data: </p> <pre class="brush:sql;toolbar:false;">BUAT JADUAL `transaksi` ( `ID` int BUKAN NULL, `PLATFORM_ID` int NOT NULL, `ENTITY_ID` int NOT NULL, `RELATED_TRANSACTION_ID` int NOT NULL DEFAULT '0', `ID_ORIGIN` varchar(120) BUKAN NULL, `BANK` varchar(64) LALAI NULL, `AMOUNT` dua kali ganda BUKAN NULL, `MATAWANG` varchar(3) BUKAN NULL, `JENIS` varchar(2) SET WATAK utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `DIBUAT` tarikh masa BUKAN NULL, `CARD_NO` varchar(20) LALAI NULL, `JENAMA_KARD` varchar(45) LALAI NULL, `CARD_EXPIRE_YEAR` int DEFAULT NULL, `CARD_EXPIRE_MONTH` varchar(45) LALAI NULL, `HOLDER_NAME` varchar(256) SET WATAK utf8mb4 COLLATE utf8mb4_0900_ai_ci LAILA NULL, `EMAIL` varchar(256) LALAI NULL, `STATUS` enum('diluluskan', 'ditolak', 'ditapis', 'belum selesai') SET WATAK utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, `IS_3D` tinyint(1) lalai NULL, `CREATED_AT` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `AMOUNTEUR` berganda lalai NULL, `IS_PENIPUAN` tinyint(1) BUKAN NULL LAILA '0', `FRAUD_DATE` tarikh DEFAULT NULL, `KYC_DATE` datetime LALAI NULL ) ENGINE=CHARSET LALAI InnoDB=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; </pra> <p>Contoh sisipan: </p> <pre class="brush:sql;toolbar:false;">INSERT IN TO `transaction` (`ID`, `PLATFORM_ID`, `ENTITY_ID`, `RELATED_TRANSACTION_ID`, `ORIGIN_ID`, `BANK`, `AMOUNT` . AMOUNTEUR`, `IS_FRAUD`, `FRAUD_DATE`, `KYC_DATE`) NILAI (1, 1, 87, 0, '219114359', 'BEBERAPA BANK', 150, 'USD', 'DB', '2022-02-01 00:00:17', '000000XXXXXX0000', 'MasterCard', 2025 , '06', 'NAME FAMILY', 'aaaaaaaaa@gmail.com', 'approved', 0, '2022-08-25 13:12:58', 150.7605, 0, NULL, NULL); </pra> <p>Saya telah meninggalkan definisi indeks kerana saya rasa ia tidak relevan dalam kes ini. </p>
P粉514458863P粉514458863453 hari yang lalu489

membalas semua(1)saya akan balas

  • P粉476883986

    P粉4768839862023-08-16 00:16:50

    Selepas menjalankannya dalam konsol MySQL, saya mendapati masalahnya adalah mudah Sistem PhpMyAdmin hanya menghadkan tontonan kepada 25 baris...

    Ini adalah kesilapan saya! :O Terima kasih banyak atas masa dan sokongan anda semua!

    balas
    0
  • Batalbalas