webForumDet fria alternativet

COUNT och SQL-alias

3 svar · 624 visningar · startad av Nebula

NebulaMedlem sedan feb. 20082 inlägg
#1

Hej!

Behöver hjälp i hur jag skall resonera. Frågan är enkel men jag har kört fast just på användningen av AS. Frågan lyder: summera antal artiklar skrivna av Guillou i tidskriften Folket i Bild. Använd SQL-alias för att förse svaret med lämplig kolumnrubrik (fältnamn)

Jag tänker på två sätt:

  1. Jag plockar informationen från en mellantabell som jag kallar T2F (Tidskrift2Författare) där främmande nycklar bland annat är tidskiftsnamn och författarnamn: SELECT COUNT (*) FROM T2F WHERE författarnamn AS f="Guillou" AS g

  2. ....eller måste jag skapa en vy?

Jag är ny på det här. all hjälp uppskattas! :)

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Strängar i SQL anges som

'Guillou'

Det du kallar SQL-alias används enligt

SELECT COUNT (*) as numberOfArticles

Det används inte i en whereklausul.

NebulaMedlem sedan feb. 20082 inlägg
#3

Ok, här kommer ett nytt försök. Jag tänker såhär (lite mer schematiskt):

Jag har en tabell "1" med följande fält
a
b
c

Uppgiften innebär att jag skall räkna ut en summa ur en begärd del av en kolumn i tabellen
Enligt uppgiften så skall jag använda SQL-alias för att förse svaret med lämplig kolumnrubrik
Jag skapar därför en vy för att avgränsa tabellen mot de fält jag vill hämta uppgifter från. Ger dessa alias. Summerar endast de objekt som benämns som x, vilka finns i vyn i fältet med rubriken b_f (ursprungligen i b)

Förslag:

CREATE VIEW view_1 AS SELECT a, b FROM 1 WHERE a='x'

SELECT a AS a_n, b AS b_f FROM 1

SELECT b_f,SUM(a_n) FROM x GROUP BY b_f

Är jag på rätt spår?

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Varför vill du skapa en vy? Det är väl bara detta dom är ute efter.

select b as b_f, sum(a) as a_n
  from t
 group by b

När du använder

select sum(a)

så får inte resultatkolumnen namnet a.

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb