jak wybrać pierwszy rząd każdej grupy?
<p>mam taki stół:</p><pre><code> id | val | kind  1 | 1337 | 2 2 | 1337 | 1 3 | 3 | 4 4 | 3 | 4 </code></pre><p>chcę utworzyć <code>select</code>, która zwróci tylko pierwszy wiersz dla każdego <code>val</code>, sortując według <code>kind</code>.</p><p>przykładowe dane wyjściowe:</p><pre><code> id | val | kind  2 | 1337 | 1 3 | 3 | 4 </code></pre><p>jak mogę zbudować to zapytanie?</p>
<p>to rozwiązanie używa również <code>keep</code>, ale <code>val</code> i <code>kind</code> można również po prostu obliczyć dla każdej grupy bez podzapytania:</p><blockquote> <pre><code>select min(id) keep(dense\_rank first order by kind) id , val , min(kind) kind from mytable group by val; </code></pre> <pre> id | val | rodzaj -: | : | : 3 | 3 | 4 2 | 1337 | 1 </pre></blockquote><p><em> dbfiddle <a href="http://dbfiddle.uk/?rdbms=oracle\_11.2&amp;fiddle=3db08df2d9b684302b9460a818b35d8c">tutaj</a> </em></p><p>keep… first i keep… last to specyficzna dla oracle funkcja agregatów - możesz przeczytać o <a href="http://docs.oracle.com/cd/e11882\_01/server.112/e41084/functions065.htm#sqlrf00641">tutaj</a> w dokumentach oracle, lub <a href="https://oracle-base.com/articles/misc/rank-dense-rank-first-last-analytic-functions#first\_and\_last">na oracle\_base</a> :</p><blockquote> <p>funkcje pierwsza i ostatnia mogą być użyte do zwrócenia pierwszej lub ostatniej wartości z uporządkowanej sekwencji</p> </blockquote>
Dajesz kursor na stronie od której chcesz zacząć i potem idziesz do Układ strony, znaki podziału, Następna strona i potem jak już to zaznaczysz to idziesz do Wstawianie i Numer strony a potem jeszcze raz do wstawianie, ale teraz wybierasz formatuj numery stron i dajesz 1 w tabelce, która wyskoczy w opcji Rozpocznij od. No i potem tylko ręcznie usuwasz numerki z pierwszych stron Niech najpierw wprowadzą listę słówek. rozwiązanie:

function addrow()

{

var ss = spreadsheetapp.getactive();

var firstrow = 3;

var sh = ss.getactivesheet();

var lcol = sh.getlastcolumn();

var range = sh.getrange(firstrow, 3, 1, lcol); sh.insertrowsafter(3, 1);

}

function onedit() {

sheet = s… druga pewnie jest dla sprawdzenia poprwanosci odpowiedzi, kucze nie pamietam dokladnie tych komend ale sprobuj skopjowac je z tej gotowej tabelki i ewentualnie cos pozmieniaj- a dokladniej t wspolrzedne pol zeby sie zgadzaly (wstaw tylko w pierwszych ramkach a reszte zlap za jeden rog i przeciagnij to ci sie skopiuje dla innych wynikow) wpisz pierwszą literę tego czegoś, najedż na to w tej liście, która się otwiera i wciśnij delete


naj??? Cześć,
  

  
Chodzi o grupowe wiadomości. W polu odbiorców dodajesz jedną osobę, potem kolejne i tak powstaje grupa. pierwszy napisz coś do mnie to odpisze źle zrozumiałem problem, myślałem, że chcesz rozciągnąć w poziomie - mój błąd. 

dane mogą zostać w tabeli, ale dolne menu robiłbym już w nav>ul>li, również nie robiłbym breadcrumbsów u góry w tabeli. 
wracając już do problemu, będziesz miał trochę ciężko to zrobić. wydaje mi się, że najlepiej będz… masz kilka możliwości: 

użyć pętli for i wewnątrz if

użyć pętli while

użyć po prostu filtra listy (\_\_ne\_\_ - not equal):

<https://www.online-python.com/uqefk1lvdj> 
pod względem wydajności najlepszy jest tutaj filtr. Możesz też zrobić coś takiego

aby utworzyć nazwany typ, za pomocą którego można przeprowadzić rekursję. Teraz to działa: