Dette giver et output som ser sådant her ud : Breakdown of Members by Type Member Type No. Company 16 Consultant 5 Job Seeker 42 Supplier 5 Sub-Contractor 10
Det jeg nu gerne vil er at der skal laves en count mere i forespørgslen, som tæller på følgende felt "pay_end_date" (dette felt indeholder udløbsdato)
dvs. der skal tælles antal hvor pay_end_data er STØRERE end dags dato (formatet er det der fåes fra time() komandoen.... )
der tilføjes således en ekstra variabel i mit udtræks arry ala : while ($row = $conn->fetcharray($rs)) { $template->assign_block_vars('type_row', array( 'CC_TYPE' => $types[$row['type']], 'CC_CNT' => $row['cnt'], 'CC_CNT_PAY' => $row['pay'] )); }
Men hvordan ser min sql streng ud når der er 2 counts og den ene skal tjekke på om en given værdi er stører ???
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
er ikke helt inde i count...men tror måske at dette vil virke? $sql = "SELECT type, count(*) as 'cnt', COUNT(pay_end_date>now()) as antal_stoerre FROM contacts GROUP BY type" ;
sql'en ser nu sådant her ud : $sql = "SELECT type, count(*) as 'cnt', SUM(CASE WHEN pay_end_date > NOW() THEN 1 ELSE 0 END) as 'cnt_pay' FROM contacts GROUP BY type";
men den skriver kun 0 i cnt_pay variablen eftergølgende trods der er forekomster... bytter jeg om på 1 og 0 i WHEN sektionen, hiver den det totale antal ud (altså også dem hvor pay_end_date er mindre....
kom til at tænke på om NOW() er i formatet unix timestamp - sec. siden 1970... ??
For hvis jeg istedet opretter en variabel inden sql'en indeholdende time() og kalder SUM(CASE WHEN pay_end_date > $nutid THEN 1 ELSE 0 END) så får jeg faktisk det korekte antal ud....
Det har sikkert ikke nogen nævneværdig effekt på udtrækstiden om jeg bruger det ene eller det andet, men kan det holdes i ren sql kode så er det vel det hurtigste....
I stedet for NOW() bruger du vel så bare UNIX_TIMESTAMP()?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.