logi sisse meist KKK

Kas keegi Firebird andmebaasiga on kokku puutunud?

Kui MySql-is selline päring töötab:

SELECT * FROM
(
SELECT * FROM `t1` WHERE timestamp_field > NOW()- INTERVAL 10 DAY ORDER BY timestamp_field DESC
) AS table_tmp

GROUP BY grupi_id
ORDER BY id ASC

Siis kuidas seda Firebird-ile arusaadavaks tõlkida? Pooliku versiooni pusisin valmis, see küll töötab aga tulemus on vale. Nimelt oleks vaja gruppida ainult "grupi_id" välja järgi, samas kätte on vaja saada kõik väljad.

--- see poolik päring, firebird---

SELECT
t1.id,
t1.grupi_id,
t1.timestamp_field,
count(*)
FROM
t1
WHERE
t1.timestamp_field > cast('NOW' as timestamp)
GROUP BY
t1.id,
t1.grupi_id,
t1.timestamp_field
ORDER BY t1.id ASC

küsitud Dec 29 '11 at 01:21

curate's gravatar image

curate
92


Ma muidugi norin, aga ainult natuke: "töötab aga tulemus on vale" on absurd, contradiction in terms. Kui tulemus on vale, siis ta ju ei tööta.

Kuna Su kaks erinevat versiooni ei näe kuigivõrd sarnased välja, ei oska ma öelda, mida Sul tegelikult tarvis on, aga Sind võivad huvitada Firebird'i kuupäeva-aritmeetika ja datediff funktsioon. "timestamp_field on värskem kui 10 päeva" peaks välja nägema umbes (current_timestamp - timestamp_field) < 10 * 24 * 3600; relevantne FAQ #114 räägib current_timestamp'ist.

link

vastatud Dec 29 '11 at 22:22

dig's gravatar image

dig
17415

Päring töötab selles mõttes, et väljastab tulemuse mitte errori. Jah see WHERE ei ole täpne.(täiendan hiljem, tänu vihje eest!) Probleem on selles, et mul oleks vaja:...

GROUP BY t1.grupi_id ORDER BY t1.id ASC

Sellisel juhul päring einam ei tööta, väljastab errori, kuna SELECT -is on rohkem välju mida mul on ka vaja. Põhimõtteliselt jookseb nüüd kaks teemat ühte auku: http://pinu.ee/kysimused/1086/sql-group-by

(Dec 30 '11 at 14:03) curate
Sinu vastus
toggle preview

Jälgi seda küsimust

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[tekst](http://url.com/ "pealkiri")
  • pilt?![alt tekst](/path/img.jpg "pealkiri")
  • nummerdatud nimekiri: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Pinu tööpakkumised

kõik pakkumised »

Sildid:

×10
×3
×1
×1
×1

küsitud: Dec 29 '11 at 01:21

nähtud: 415 korda

viimati uuendatud: Dec 30 '11 at 14:03

Litsents: Creative Commons Attribution License | Kontakt: info@pinu.ee