Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » MySQL » izracun sati za pon-pet sub i ned
Avko 28.08.2016 12:50
Predmet:izracun sati za pon-pet sub i ned

SELECT CASE WEEKDAY( datum )
WHEN 0 THEN "radni dan"
WHEN 1 THEN "radni dan"
WHEN 2 THEN "radni dan"
WHEN 3 THEN "radni dan"
WHEN 4 THEN "radni dan"
WHEN 5 THEN 'subota'
WHEN 6 THEN 'nedjelja'
END dan, SUM( sati ) AS ukupnoSati
FROM zaposlenici
WHERE IDzaposlenik = 123
GROUP BY dan
LIMIT 0 , 30

trebam COUNT(radnidan),COUNT(subota),COUNT(nedjelja)
hvala

zxz 28.08.2016 21:07
Predmet:Re: izracun sati za pon-pet sub i ned

Zakaci tabelu da ne pravim hehehe.

Avko 29.08.2016 16:01
Predmet:Re: izracun sati za pon-pet sub i ned

oprosti, zaboravio sam najvazniji detalj a to je zakaciti sql fajl
evo ide
Prilozi:
zaposlenik.rar (Velicina datoteke:702 Bajt)

zxz 30.08.2016 00:18
Predmet:Re: izracun sati za pon-pet sub i ned

PreuzmiIzvorni kôd (Text):
  1. SELECT COUNT(Datum) as UkupnoDana,
  2. (SELECT COUNT(DATE_FORMAT(datum,'%a'))as d FROM `zaposlenik` WHERE DATE_FORMAT(datum,'%a') ="Sat")as Subota,
  3. (SELECT COUNT(DATE_FORMAT(datum,'%a'))as d FROM `zaposlenik` WHERE DATE_FORMAT(datum,'%a') ="Sun")as Nedelja,
  4. (SELECT COUNT(DATE_FORMAT(datum,'%a'))as d FROM `zaposlenik` WHERE DATE_FORMAT(datum,'%a') IN ('Mon','Tue','Wed','Thu','Fri'))as RadniDan
  5. FROM `zaposlenik`

Gjoreski 30.08.2016 01:02
Predmet:Re: izracun sati za pon-pet sub i ned

Eve pogledaj ovo.
Ovo je bilo malo zeznato.

PreuzmiIzvorni kôd (Visual Basic):
  1. SELECT
  2. CASE WEEKDAY( datum )
  3. WHEN 0 THEN "radni dan"
  4. WHEN 1 THEN "radni dan"
  5. WHEN 2 THEN "radni dan"
  6. WHEN 3 THEN "radni dan"
  7. WHEN 4 THEN "radni dan"
  8. WHEN 5 THEN 'subota'
  9. WHEN 6 THEN 'nedjelja'
  10. END dan,
  11. sum(TIMESTAMPDIFF(hour,CONVERT(CONCAT((datum) , ' ', odsati),DATETIME) , CONVERT(CONCAT((datum+ INTERVAL 1 DAY) , ' ', dosati),DATETIME)) )as ukupnoSati,
  12. COUNT(*) as ContTip
  13. FROM zaposlenik
  14. WHERE ID = '29021966-33-0132'
  15. GROUP BY dan

Gjoreski 30.08.2016 03:36
Predmet:Re: izracun sati za pon-pet sub i ned

Uf nisam video da ZXZ je vec odgovorio ali moram ti ukazati neke stvare.
Vidim da se rade nosto oko preracun vremena a datume su najspecificni za obrada.
Moras voditi jako puno paznja oko izrada tabela za u buducnos da nemas puno problema.
Jas pred par godina sam radio jedna aplikacija za preracun radnog vremena za jedna firma i bogami sam se namucio na pocetki zbog to sto nisam napravio dobra tablela.
Jedna od najbitnih stvari je to da pored casot u pole gdje zapisujes pocetok ili kraj radnog vremena stoi i data.To je sve zbog laksi preracun.Lako je iz kompletno Vreme (dataum i cas) izdvoiti samo data ili samo cas ili bilo sta ali kad spajas data i vreme e to bas i ne ide lako (pogledaj koliko konverzije i spajajna morao sam da uradi za da mogu da oduzmem dve vremena) .
Iz ovi primera sta si dao u tabela vidi se da radno vreme pocijne u 18.00 danas a zavrsi sutra u 7 ujutro ,a imamo samo danasni datum i sad kako bi doslo ova tvoja matematika " 7-18" ?
Ja sam u gorni primer danasni datum povecao za jedam dan da mogu izracunati vrenena ali tu je problem kad u jednu sedmici jedan radnik jedan dan dolazi od 7 do 14 a jedan od 18 do 7 kako ces uzeti krajno vreme? U prvi slucaj imas pocetak i kraj radnog vremena u jedan dan , a u drugi slucaj imas poceak u jedan dan a kraj u drugi.

Ako si vec poceo neka aplikacija od ovog tipa razmisli oko ove sugestije ili daj opisi proces koj ti treba pa mozemo tu da napravimo tabele.
Ako je samo vezba od oba primera sta smo stavili sa ZXZ ima sta da naucis.

Ovo sta trazis mozes pogledati pod nazivom Crosstab query ili kod MSSql to se zove PIVOT queri.

Avko 30.08.2016 08:37
Predmet:Re: izracun sati za pon-pet sub i ned

hvala momci

datumi nisu bili dobri pa sam to preslozio rucno
evo ponovo attachment

PreuzmiIzvorni kôd (Text):
  1. SELECT COUNT(Datum) as UkupnoDana,
  2.  
  3. (SELECT COUNT(DATE_FORMAT(datum,'%a'))as d FROM `zaposlenik` WHERE DATE_FORMAT(datum,'%a') ="Sat")as Subota,
  4.  
  5. (SELECT COUNT(DATE_FORMAT(datum,'%a'))as d FROM `zaposlenik` WHERE DATE_FORMAT(datum,'%a') ="Sun")as Nedelja,
  6.  
  7. (SELECT COUNT(DATE_FORMAT(datum,'%a'))as d FROM `zaposlenik` WHERE DATE_FORMAT(datum,'%a') IN ('Mon','Tue','Wed','Thu','Fri'))as RadniDan
  8.  
  9. FROM `zaposlenik`

a gdje cu staviti AND MONTH(datum)=7 /za sedmi mjesec
Prilozi:
zaposlenik.sql.zip (Velicina datoteke:791 Bajt)

zxz 30.08.2016 08:47
Predmet:Re: izracun sati za pon-pet sub i ned

Jel mislis na uslov za sedmi mjesec?

zxz 30.08.2016 10:24
Predmet:Re: izracun sati za pon-pet sub i ned

Mozda je i ovaj nacin interesantan.
PreuzmiIzvorni kôd (Text):
  1. SELECT If(DATE_FORMAT(Datum,'%w') Between 2 And 6,'RadniDan',DATE_FORMAT(Datum,'%a')) AS Dan, Count(DATE_FORMAT(Datum,'%a')) AS Ukupno
  2. FROM zaposlenik
  3. GROUP BY If(DATE_FORMAT(Datum,'%w') Between 2 And 6,'RadniDan',DATE_FORMAT(Datum,'%a'))

Gjoreski 30.08.2016 12:18
Predmet:Re: izracun sati za pon-pet sub i ned

Ja ne mogu razumeti sta oce Avko da uradi ?