Having cleared the problem of "not there being an order", that is, you will have to choose some kind of ordering (for example the order of primary key, or the order in which the records were assigned OIDs), your question becomes:
"I want all the records whose ordering field is less than the value
of the row for which ordering field is minimum, and VALUE is 543".
So you select the minimum row for which the value is 543
SELECT MIN(id) AS id FROM yourtable WHERE value = 543
or maybe, for other purposes, something like
SELECT MIN(id) AS id FROM yourtable WHERE value >= 543
and then select all records before that one:
SELECT value FROM yourtable WHERE id < ( SELECT MIN(id) AS id FROM yourtable WHERE value = 543 );
So your table could be:
ID Value
-----------
1 45
2 434
3 348
4 213
5 543
6 3445
7 343
8 123
9 34345
and you would get:
45
434
348
213
543
You don't see the order, but there must be one. Here it is the order on id.
As you requested, value can be whatever - a text, or even an image BLOB - and the "ordering" stays hidden.
In some other language you would do something like:
qry = SQL.exec('SELECT * FROM yourtable;');
while ((value = qry.next().value) != '543':
write value '\n'
qry.close()
but then either the SELECT's order would not be specified, and you might get every time a different result, or it would be the order of tuple insertion in the table. Which is the same as using id explicitly.
543not ordered by anything. As @TimSchmelter said, there is no inherent order on a table